<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ClienteDAO
 *
 * @author Albuquerque
 */
require_once "FactoryConnection.php";
require_once "../auxilios/SQLInjection.php";

class ClienteDAO {
    //put your code here
    var $conect;
	
    function __construct(){
	$this->conect = FactoryConnection::getConexao();	
    }
    
    public function existe($cpf){
        /*$query2="SELECT cpf FROM ceape_clientes WHERE cpf =:cpf";
        $stmt=$this->conect->prepare($query2);
        $stmt->bindValue(':cpf', $cpf,PDO::PARAM_STR);*/
        
        $query = "SELECT cpf FROM ceape_clientes WHERE cpf = '".$cpf."'";

		
		$resultado = $this->conect->query($query);

                if($resultado!=NULL){
                    if($resultado->rowCount())
                        return true;
                }
		return false;
    }

    public function get($cpf){
        
         $query = "SELECT * FROM ceape_clientes WHERE cpf = '".$cpf."'";
		
		$resultado = $this->conect->query($query);
		
		if($resultado->rowCount()){
                      $cli= new Cliente();
                      $resu= $resultado->fetchObject();
                      $cli->setCpf($resu->cpf);
                      $cli->setNome($resu->nome);
                      $cli->setEmail($resu->email);
                      $cli->setFone($resu->fone);
                      $cli->setCod_fone($resu->cod_fone);
                      $cli->setId($resu->id);
                      $cli->setData_cad($resu->data_cad);
                      $cli->setEndereco($resu->endereco);
                      $cli->setNum($resu->num);
                      $cli->setBairro($resu->bairro);
                      $cli->setCidade($resu->cidade);
                      $cli->setUf($resu->uf);
                      $cli->setCep($resu->cep);
                      $cli->setCompl($resu->compl);
                      $cli->setTipo($resu->tipo);
                      return $cli;
                }
		return NULL;
    }

    //recebe umobjeto do tipo cliente
    public function salvar($cliente){
       /* $query2 = "INSERT INTO
                ceape_clientes(nome, tipo,endereco, bairro, compl, cidade, uf, cep,num, rg, cpf, fone, cod_fone, email, data_cad, ativo, senha)
                VALUES(:nome, :tipo,:endereco, :bairro, :compl, :cidade, :uf, :cep,:num, :rg, :cpf, :fone, :cod_fone, :email, :data_cad, :ativo, :senha)";
        $stmt=$this->conect->prepare($query2);
        $stmt->bindValue(':nome', $cliente->getNome(),PDO::PARAM_STR);
        $stmt->bindValue(':tipo', $cliente->getTipo(),PDO::PARAM_STR);
        $stmt->bindValue(':endereco', $cliente->getEndereco(),PDO::PARAM_STR);
        $stmt->bindValue(':bairro', $cliente->getBairro(),PDO::PARAM_STR);
        $stmt->bindValue(':compl', $cliente->getCompl(),PDO::PARAM_STR);
        $stmt->bindValue(':cidade', $cliente->getCidade(),PDO::PARAM_STR);
        $stmt->bindValue(':uf', $cliente->getUf(),PDO::PARAM_STR);
        $stmt->bindValue(':cep', $cliente->getCep(),PDO::PARAM_STR);
        $stmt->bindValue(':num', $cliente->getNum(),PDO::PARAM_STR);
        $stmt->bindValue(':rg', $cliente->getRg(),PDO::PARAM_STR);
        $stmt->bindValue(':cpf', $cliente->getCpf(),PDO::PARAM_STR);
        $stmt->bindValue(':fone', $cliente->getFone(),PDO::PARAM_STR);
        $stmt->bindValue(':cod_fone', $cliente->getCod_fone(),PDO::PARAM_STR);
        $stmt->bindValue(':email', $cliente->getEmail(),PDO::PARAM_STR);
        $stmt->bindValue(':data_cad', $cliente->getData_cad(),PDO::PARAM_STR);
        $stmt->bindValue(':ativo', $cliente->getStatus(),PDO::PARAM_BOOL);
        $stmt->bindValue(':senha', $cliente->getSenha(),PDO::PARAM_STR);*/

        $query = "INSERT INTO 
                ceape_clientes(nome, tipo,endereco, bairro, compl, cidade, uf, cep,num, rg, cpf, fone, cod_fone, email, data_cad, ativo, senha)
                VALUES(
                        '".$cliente->getNome()."',
                        '".$cliente->getTipo()."',
                        '".$cliente->getEndereco()."',
                        '".$cliente->getBairro()."',
                        '".$cliente->getCompl()."',
                        '".$cliente->getCidade()."',
                        '".$cliente->getUf()."',
                        '".$cliente->getCep()."',
                        '".$cliente->getNum()."',
                        '".$cliente->getRg()."',
                        '".$cliente->getCpf()."',
                        '".$cliente->getFone()."',
                        '".$cliente->getCod_fone()."',
                        '".$cliente->getEmail()."',
                        '".date('Y-m-d')."',
                        '".$cliente->getStatus()."',
                        '".$cliente->getSenha()."'
                );";
        
       
        try{
            $this->conect->beginTransaction();
            $sucesso = $this->conect->exec($query);            
            $this->conect->commit();
        } catch (PDOException $ex){
            $this->conect->rollBack();
        }
        
        return $sucesso;
    }
}
?>